package cn.ztelovecly.springboot.framework.util.auth;

import cn.ztelovecly.springboot.framework.util.CookieUtil;
import cn.ztelovecly.springboot.framework.util.SettingUtil;

import java.io.Serializable;

public class ConfigToolObject implements Serializable {
	private static final long serialVersionUID = -7507510429755782597L;

	/**
	 * 获取官网的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getWwwUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.www.url") + url;
	}
	/**
	 * 获取进销存系统的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getDistributionUrl(String url) {
		return SettingUtil.getDistributionSiteUrl() + url;
	}
	/**
	 * 获取财务系统的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getFinancialUrl(String url) {
		return SettingUtil.getFinancialSiteUrl() + url;
	}
	/**
	 * 获取后台系统的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getBackendUrl(String url) {
		return SettingUtil.getBackendSiteUrl() + url;
	}
	/**
	 * 获取市场系统的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getMarketplaceUrl(String url) {
		return SettingUtil.getMarketplaceSiteUrl() + url;
	}
	/**
	 * 获取ERP系统的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getErpUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.erp.url") + url;
	}
	/**
	 * 获取员工门户的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getEmployeeUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.employee.url") + url;
	}
	/**
	 * 获取安全服务器的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getAuthUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.auth.url") + url;
	}
	/**
	 * 获取服务平台的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getServiceUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.service.url") + url;
	}

	/**
	 * 获取会员门户的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getMemberUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.member.url") + url;
	}

	/**
	 * 获取ISV门户的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getOpenUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.open.url") + url;
	}

	/**
	 * 获取消费者门户的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getCustomerUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.customer.url") + url;
	}

	/**
	 * 获取公共门户的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getMyUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.my.url") + url;
	}

	/**
	 * 获取供应商门户的域名
	 * @param url
	 * @return
	 */
	public String getSupplierUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.supplier.url") + url;
	}

	/**
	 * 获取CMS的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getSitewebUrl(String url) {
		return SettingUtil.getProperty("config.properties", "site.siteweb.url") + url;
	}

	/**
	 * 获取POS_WEB的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getPosWebUrl(String url) {
		return SettingUtil.getPosUrl() + url;
	}

    /**
     * 获取虎丘电商的域名
     * @param url   域名后的网址
     * @return      拼接后的网址
     */
    public String getTigerHillUrl(String url) {
        return SettingUtil.getTigerHillSiteUrl() + url;
    }

	/**
	 * 获取CDN的域名
	 * @param url   域名后的网址
	 * @return      拼接后的网址
	 */
	public String getCdnUrl(String url) {
		return SettingUtil.getCdnUrl() + url;
	}

    /**
	 *
	 * 获取当前发布模式
	 * @return      当前的发布模式
	 */
	public String getDeployMode() {
		return SettingUtil.getDeployMode();
	}

	/**
	 * 获取当前验证模式
	 * @return      当前的验证模式
	 */
	public String getVerifyMode() {
		return SettingUtil.getVerifyMode();
	}

	/**
	 * 获取云文件的默认服务器地址
	 * @return  地址
	 */
	public String getOssUrl(String url) {
		return SettingUtil.getProperty("config.properties", "aliyun.oss.url") + url;
	}

	/**
	 * 获取云图片处理的默认服务器地址
	 * @return  地址
	 */
	public String getImgUrl(String url) {
		return SettingUtil.getProperty("config.properties", "aliyun.img.url") + url;
	}

	/**
	 * 获取部署服务的负责人
	 * @return  负责人代号
	 */
	public String getDeployOwner() {
		return SettingUtil.getProperty("config.properties", "deploy.owner");
	}

	/**
	 * 获取config.properties文件里的配置
	 * @param key       key
	 * @return          key对应的值
	 */
	public String getConfig(String key) {
		return SettingUtil.getProperty("config.properties", key);
	}

	/**
	 * 获取Account的Cookie配置名称
	 * @return  Cookie名称
	 */
	public String getAccountCookieName() {
		String deployMode = SettingUtil.getDeployMode();
		return CookieUtil.getAccountCookieName(deployMode);
	}

	/**
	 * 获取Passport的Cookie配置名称
	 * @return  Cookie名称
	 */
	public String getPassportCookieName() {
		String deployMode = SettingUtil.getDeployMode();
		return CookieUtil.getPassportCookieName(deployMode);
	}

	public String getPdfCommandLocation() {
		return SettingUtil.getProperty("config.properties", "pdf.command.location");
	}

	/**
	 * A dummy toString method that returns an empty string.
	 *
	 * @return An empty String ("").
	 */
	@Override
	public String toString() {
		return "";
	}
}
